import java.util.*;

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param arr int整型一维数组 the array
     * @return int整型
     */
    public int maxLength (int[] arr) {

        //使用队列，如果有重复的，队头出队列
        //每遍历一次，维护一次最长的结果

        Queue<Integer> queue=new LinkedList<>();
        int ans=0;
        for(int x:arr){
            //如果有重复则队头出队列
            while(queue.contains(x)){
                queue.poll();
            }
            queue.add(x);
            //判断是这次的queue.size()大还是上次的ans大保存大的
            ans=Math.max(queue.size(),ans);

        }
        return ans;
    }
}